package com.xinggq.user.service.exception;

import com.xinggq.common.CommonResult;
import com.xinggq.common.exception.BaseGlobalExceptionHandler;
import com.xinggq.user.api.exception.UserCenterException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 用户中心全局异常处理器
 * 继承基础异常处理器，处理用户中心特有的异常
 *
 * @author xinggq
 * @since 2025-11-03
 */
@RestControllerAdvice
@Order(10)
@Slf4j
public class GlobalExceptionHandler extends BaseGlobalExceptionHandler {

    /**
     * 处理用户中心业务异常
     */
    @ExceptionHandler(UserCenterException.class)
    public CommonResult<Void> handleUserCenterException(UserCenterException e) {
        log.error("用户中心业务异常: {}", e.getMessage(), e);
        return CommonResult.fail(e.getMessage());
    }
}